// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLReplaceable;
// import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../OracleSQLObjectImpl.h"
#include "../../../../ast/SQLReplaceable.h"

class SampleClause : virtual public OracleSQLObjectImpl, virtual public SQLReplaceable
{
public:
  BOOL_ptr block;

  SQLExpr_list_ptr percent;

  SQLExpr_ptr seedValue;

  SampleClause();
  SHAREDOBJECT(SampleClause);

  BOOL_ptr isBlock();

  void setBlock(BOOL_ptr block);

  SQLExpr_list_ptr getPercent();

  void addPercent(SQLExpr_ptr x);

  SQLExpr_ptr getSeedValue();

  void setSeedValue(SQLExpr_ptr seedValue);

  // @Override
  void accept0(OracleASTVisitor_ptr visitor);

  // @Override
  SQLObject_ptr clone();

  // @Override
  BOOL_ptr replace(SQLExpr_ptr expr, SQLExpr_ptr target);
};
